# coding=utf-8

# 功能介绍：将扫描好的毕业证复印件，对每一个文件，进行大学号+姓名命名

import os
import xlrd

path = 'C:\\Users\\Administrator\\Desktop\\计算机与软件技术系'

# 遍历文件夹，获取每个文件的绝对路径
Filelist = []
for home, dirs, files in os.walk(path):
    for filename in files:
        # 文件名列表，包含完整路径
        Filelist.append(os.path.join(home, filename))

#读取excel
data = xlrd.open_workbook(r'C:\Users\Administrator\Desktop\计算机与软件技术系.xls')
#获取sheet1的行数
sheet1 = data.sheets()[0]
rows =sheet1.nrows

for file in Filelist:

    # 路径
    # 找到倒数第二个\的位置,从0到该位置获取根路径
    root_path = file[0:int(file.rindex("\\"))]
    root_path2 = root_path[0:int(root_path.rindex("\\"))]

    # 班级名称
    clazz_name = root_path2[int(root_path2.rindex("\\")):len(root_path2)].replace('\\', '', 1)

    # 小学号
    xiao_xuehao = file[-6:-4]

    # 扩展名
    extension = file[-4:]

    # 学生锁定
    student_lock = clazz_name+xiao_xuehao

    for i in range(rows):
        # 跳过第一行
        if i == 0:
            continue;
        # i行的list
        row = sheet1.row_values(i)
        # 如果表格内的班级+小学号 与学生锁定相同
        if (row[1] + row[2]) == student_lock:
            os.rename(file,os.path.join(root_path,str(int(row[4]))+row[3]+extension))
